package com.cl.ks.controller;

import com.cl.ks.entity.TaskList;
import com.cl.ks.entity.TaskListItem;
import com.cl.ks.service.TaskListService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/taskList")
@Api("任务列表接口")
public class TaskListController {

    @Autowired
    TaskListService taskListService;


    @ApiOperation("获取进度")
    @GetMapping("getProgress")
    public ResponseEntity getProgress(Integer taskListId) {
        return  taskListService.getProgress(taskListId);
    }
    @ApiOperation("提交任务列表")
    @GetMapping("executeTaskList")
    public ResponseEntity<Object> executeTaskList(Integer taskListId) {
        return  taskListService.executeTaskList(taskListId);
    }
    @ApiOperation("查询任务类型列表")
    @GetMapping("listTaskType")
    public ResponseEntity<Object> listTaskType( ) {
        return taskListService.listTaskType();
    }

    @ApiOperation("查询任务列表")
    @PostMapping("pageTaskList")
    public ResponseEntity<Object> pageTaskList(@RequestBody TaskListService.PageParam param) {
        return taskListService.pageTaskList(param);
    }
    @ApiOperation("查询任务列表内包含的任务")
    @GetMapping("listTaskListItem")
    public ResponseEntity<Object> listTaskListItem(Integer taskListId) {
        return taskListService.listTaskListItem(taskListId);
    }
    @ApiOperation("新增任务列表")
    @PostMapping("addTaskList")
    public ResponseEntity<Object> addTaskList(@RequestBody TaskList taskList) {
        return taskListService.addTaskList(taskList);
    }
    @ApiOperation("新增任务列表内任务")
    @PostMapping("addTaskListItem")
    public ResponseEntity<Object> addTaskListItem(@RequestBody TaskListItem taskListItem) {
        return taskListService.addTaskListItem(taskListItem);
    }
    @ApiOperation("编辑任务列表")
    @PostMapping("editTaskList")
    public ResponseEntity<Object> editTaskList(@RequestBody TaskList taskList) {
        return taskListService.editTaskList(taskList);
    }
    @ApiOperation("编辑任务列表内任务")
    @PostMapping("editTaskListItem")
    public ResponseEntity<Object> editTaskListItem(@RequestBody TaskListItem taskListItem) {
        return taskListService.editTaskListItem(taskListItem);
    }

}
